import axiosInstance from '@/utils/request'

/**
 * 地址相关API
 */
export const AddressApi = {
  /**
   * 新增地址
   * @param {Object} addressDTO 地址信息
   * @returns {Promise}
   */
  addAddress(addressDTO) {
    return axiosInstance.post('/product/address/add', addressDTO)
  },

  /**
   * 更新地址
   * @param {Object} addressDTO 地址信息
   * @returns {Promise}
   */
  updateAddress(addressDTO) {
    return axiosInstance.put('/product/address/update', addressDTO)
  },

  /**
   * 获取用户地址列表
   * @param {Number} userId 用户ID
   * @returns {Promise}
   */
  getUserAddresses(userId) {
    return axiosInstance.get(`/product/address/list/${userId}`)
  },

  /**
   * 删除地址（逻辑删除）
   * @param {Number} addressId 地址ID
   * @param {Number} userId 用户ID
   * @returns {Promise}
   */
  deleteAddress(addressId, userId) {
    return axiosInstance.delete(`/product/address/delete/${addressId}`, {
      params: { userId }
    })
  },

  /**
   * 获取地址详情
   * @param {Number} addressId 地址ID
   * @param {Number} userId 用户ID
   * @returns {Promise}
   */
  getAddressDetail(addressId, userId) {
    return axiosInstance.get(`/product/address/detail/${addressId}`, {
      params: { userId }
    })
  },

  /**
   * 设置默认地址
   * @param {Number} addressId 地址ID
   * @param {Number} userId 用户ID
   * @returns {Promise}
   */
  setDefaultAddress(addressId, userId) {
    return axiosInstance.put('/product/address/setDefault', {
      addressId,
      userId
    })
  },

  /**
   * 获取用户默认地址ID
   * @param {Number} userId 用户ID
   * @returns {Promise}
   */
  getDefaultAddressId(userId) {
    return axiosInstance.get(`/product/address/default/${userId}`)
  }
}